/*
文件名:find.c
硬件连接：

*/
#include "find.h"
#include "delay.h"
#include "motor.h"
//循迹IO初始化
//寻迹传感器从右到左以此O1 O2 O3 O4 
//硬件连接 O1-PC0，O2-PC1，O3-PC2，O4-PC3，
//要初始化为输入模式
void Find_IO_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;

	//开启GPIO时钟
	RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1| GPIO_Pin_2 | GPIO_Pin_3|GPIO_Pin_4;//选择IO端口
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//配置成输入
	GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//上拉
	GPIO_Init(GPIOC, &GPIO_InitStructure);//根据GPIO_InitStructure中指定的参数初始化外设GPIOD寄存器

} 


//循迹、、循迹模块 黑线输出高电平1  白线低电平0
//小车最左端是O4----最右端是O1 
//循迹路面：白色路面黑色引导线，即寻黑线。
//黑线 传感器输出1，白线输出0
void Find(void)
{

		if((Find_O4	 == 1)&&(Find_O3 == 1)&&(Find_O2 == 1)&&(Find_O1 == 1))
	{
			Car_Go();
	}

	if((Find_O4 == 1)&&(Find_O3 == 1)&&(Find_O2 == 0)&&(Find_O1 == 1))
	{
			
			Car_Turn_Right();
	}


	if((Find_O4 == 1)&&(Find_O3 == 1)&&(Find_O2 == 0)&&(Find_O1 == 0))
	{
		
			Car_Turn_Right();
	}

	if((Find_O4 == 1)&&(Find_O3 == 1)&&(Find_O2 == 1)&&(Find_O1 == 0))
	{
		
		Car_Turn_Right();
	}

	if((Find_O4 == 1)&&(Find_O3 == 0)&&(Find_O2 == 1)&&(Find_O1 == 1))
	{
		Car_Turn_Left();
	}


	if((Find_O4 == 0)&&(Find_O3 == 0)&&(Find_O2 == 1)&&(Find_O1 == 1))
	{
		
		Car_Turn_Left();
	}

	if((Find_O4 == 0)&&(Find_O3 == 1)&&(Find_O2 == 1)&&(Find_O1 == 1))
	{
		
		Car_Turn_Left();
	}
	

	if((Find_O4 == 0)&&(Find_O3 == 0)&&(Find_O2 == 0)&&(Find_O1 == 0))
	{
		 Car_Turn_Right();
	}

	
}











